package com.google.code.multitester.annonations;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

/**
 * Annotation that describes configuration for running test class.
 *
 * @author Yuriy Sechko
 */
@Retention(RetentionPolicy.RUNTIME)
public @interface ImportedTest
{
	/**
	 * Pointer to target test class. Two following attributes will be applied to
	 * the specified test class.
	 */
	public Class testClass();

	/**
	 * Sequence of methods that need to be called for getting test case ready
	 * for work.
	 * <p>
	 * All items should represent aliases of methods marked with
	 * {@link com.google.code.multitester.annonations.Exported} annotation. All
	 * methods marked will be called according to order of their aliases in this
	 * sequence.
	 */
	public String[] startupSequence();

	/**
	 * Sequence of methods that need to be called for closing down test case
	 * after it executed.
	 * <p>
	 * Similar to {@see
	 * com.google.code.multitester.annonations.ImportedTest#startupSequence}.
	 */
	public String[] shutdownSequence();
}
